Digital signal processing (DSP) tasks almost universally include processing that reduces or eliminates noise and interference. While the character of the noise and interference varies widely with the application, the principles for dealing with it involve firstly, the analysis of the properties of the noise or interference and secondly, the development of algorithmic approaches to extract the highest quality form of the desired signal from the offending aspects environment.
In digital signal processing an enormous amount of technical effort has been brought to bear on the most pressing issues resulting in a wide range of techniques. Parallel interference cancellation (PIC) is one class of such techniques and it involves mathematical operations that can be reduced to a pipeline of cascaded matrix operations on the raw vector signal. The raw vector signal is a composite of signal, noise and interference. When interference predominates, the nature of the interference and its mathematical properties are of paramount importance.
Interference is often periodic or highly repetitious. This is clear in the realm of cellular communications. Interference often has predictable characteristics even when a-periodic and irregular in time.
In cellular communications using code division multiple access transmissions (CDMA), one example of a closed system may be assumed to be an array of perhaps eight pairs of user equipment (UE) communicating within a cell. The signal emanating from each sending user equipment may take several paths in traversing its primary path to the base station. These paths may represent reflections from interfering physical objects. The received signals at the base station have then a significant amount of parallel interference. This interference must be eliminated to reconstruct a clear replica of the transmitted signal for passage to the receiving user equipment.
The task of the base station includes determining the signal processing parameters to accomplish this parallel interference cancellation. These processing parameters take the form of a matrix of parameters describing the composite effects of the environment on known signals transmitted between the eight user pairs. The existence of pre-determined parameters stored in the base station is crucial to the development of effective interference cancellation techniques. Most prevalent among the values used in cancellation calculations are the pseudo-noise parameters and the finger spreading parameters.
Origins of Bits, Symbols and Chips
Bits of user data to be transmitted are coded in symbols. In binary phase shift keying (BPSK), a single bit is coded by a one-bit code. Among the more complex coding schemes is quadrature phase shift keying (QPSK), which is defined by a constellation diagram and could prescribe two bits to form the symbol. Pseudo-noise parameters describe the conversion of the constellation-based symbol coding into a sequence of chips, for example 64 chips per symbol. This spreading into chips provides a vehicle to employ techniques necessary for spread spectrum communication processing. Chips are the actual unit of data communication through the interfering environment. As such the chip transmission rate is limited by allocated bandwidth and guard-banding considerations. Thus an actual data bit is transmitted by spreading factor (SF) chips. In a given environment having multi-path signal reflection effects these chips undergo multipath spreading.
For cellular communications in particular, one highly developed technique for reduction of the effects of interference is the parallel interference cancellation (PIC) algorithm for CDMA based cellular receivers. Implementation of the parallel interference cancellation algorithm may take many forms. The key in development of an effective implementation lies in efficient use of standard digital signal processor operations augmented through special processing features. A wide variety of digital signal processors already exist. Cost effective solutions to parallel interference cancellation can be achieved most efficiently by (1) choosing the best adaptable basic processor and then (2) adding the augmented processing to arrive at a special processor solution that involve minimal changes from the standard processor base.
Consider a transmission of eight users to a given base station. Assume the base station determines that the transmission of each user through an. environment E will undergo multiple paths resulting in four paths of signal information. The initial bit oriented data to be transmitted is designated by an 8 by 1 matrix [Tbit]. [M] is a block diagonal matrix of size 32 by 8 whose blocks on the diagonal are column vector estimates of the effect of the channel for each user. The vector estimates of [M] are illustrated graphically the vertical lines in 107 of FIG. 1. These vectors are channel estimates of each multi-path component. In this example the transmission of a user includes four paths and the column vectors (vertical lines in 107) are 4 by 1 with each element being the effect of the channel (essentially a complex attenuation) on each path.
Consider the spreading matrix [S], having the form 109 illustrated in FIG. 1. The vector [ERCode] that represents the base stations estimate of the received signal without noise is given by:[ERCode]=[S]×[M]×[Tbit]  (1)This assumes that the modulation is binary phase shift keying (BPSK) so that the sign of the detected symbol indicates the bit value. A similar expression can be written for other modulation formats.
Parallel interference cancellation begins by performing standard demodulation on the actual received vector ARCode to derive a first estimate [Test] of the received signal. This involves multiplication by the transpose matrix [S]T, whose rows are the spreading codes and then multiplication by [M]*, the complex conjugate matrix of channel estimates. This is expressed as:[Test]=[M]*×[S]T×[ARcode]  (2)The form of matrix [S]T is illustrated at 110 of FIG. 1. The matrix [M]* illustrated at 104 is the complex conjugate matrix of 107 of FIG. 1. Multiplying by [M]* takes each finger and multiplies it by the conjugate of its channel estimate. This takes all the fingers associated with one user and adds them together. The vector [Test] is a bit-oriented column vector of length 8 having the same sign as that of [TBit] but whose magnitude is related to the energy received. Thus a decision is made on the value of each bit by examining the signs. For despreading not involving interference cancellation the computation of equation (2) concludes the demodulation procedure. For despreading involving parallel interference cancellation, a set of two additional iterations is typically used to improve the estimate.
The preliminary stages of parallel interference cancellation are conceptually similar to the following process. For each user n, a preliminary value of the received signal [RTcode] is computed by subtracting the interference term [N]n from the received data [ρ] at each stage:[RTcode]=[ρ]−[N]n  (3)where [N]n is the interference seen by user n. If the data sent due to user n is vn, then:
                              [          A          ]                =                              ∑            i                    ⁢                      v            i                                              (        4        )            is the complete signal seen from all users (without noise) and the interference due to other users seen by user n is:
                                          [            N            ]                    n                =                                            ∑                              i                ≠                n                                      ⁢                          v              i                                =                                    [              A              ]                        -                          v              n                                                          (        5        )            Stated another way, every signal that is not due to user n is interference to user n.
After subtraction of the interference, despreading and decision making occur as in regular despread. For the next stage, the term vn is generated using the bit estimates from the previous stage.
Interference cancellation is based on the concept that after the first despread a small number of the bits will be incorrectly decoded but the overwhelming majority will be correctly decoded. For each correctly decoded bit, the interference due to that bit can be removed. If the bit is incorrectly decoded then interference cancellation will not remove interference but will actually add to it. If, as we have noted, most of the bits are correct, then the total interference decreases and the signal sent to the next stage is incrementally more free of interference than that sent to the previous stage. This means that more bits will be decoded correctly in the next stage. Hence, repeated stages tend to make the error rate decrease. In practice only two iterations are enough for this algorithm to converge to a desired result.